package cn.zhentao.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @ClassName: Result 返回结果
 *  code 响应码 代表请求成功/失败
 *  message 响应信息
 *  data 响应数据
 * @Author: 振涛教育_李小超
 * @Date: 2024年2月26日 13:58
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result {
    private Integer code;//状态码
    private String message;//提示信息
    private Object obj;//数据

    //成功响应
    public static Result OK() {
        return new Result(Constant.RESPONSE_CODE_SUCCESS, "操作成功", null);
    }

    public static Result OK(Object obj) {
        return new Result(Constant.RESPONSE_CODE_SUCCESS, "操作成功", obj);
    }
    public static Result OK(Object obj,String str) {
        return new Result(Constant.RESPONSE_CODE_SUCCESS, str, obj);
    }

    //失败响应
    public static Result ERROR() {
        return new Result(Constant.RESPONSE_CODE_ERROR, "操作失败", null);
    }

    public static Result ERROR(Object obj) {
        return new Result(Constant.RESPONSE_CODE_ERROR, "操作失败", obj);
    }

    public static Result ERROR(String message) {
        return new Result(Constant.RESPONSE_CODE_ERROR, message, null);
    }

    //未登录响应
    public static Result NO_LOGIN(){
        return new Result(Constant.RESPONSE_CODE_NO_LOGIN, "未登录", null);
    }

    //权限不足响应
    public static Result FORBIDDEN(){
        return new Result(Constant.RESPONSE_CODE_FORBIDDEN, "权限不足，禁止访问", null);
    }
}
